<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP                     #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE ConstraintKinds         #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE FunctionalDependencies  #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE RankNTypes              #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables     #-}</span><span class="hs-cpp">
#if __GLASGOW_HASKELL__ &gt;= 800
</span><span class="hs-pragma">{-# LANGUAGE UndecidableSuperClasses #-}</span><span class="hs-cpp">
#else
</span><span class="hs-pragma">{-# LANGUAGE UndecidableInstances #-}</span><span class="hs-cpp">
#endif
</span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.FieldGrammar.Class</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-12"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier">FieldGrammar</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-13"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#uniqueField"><span class="hs-identifier">uniqueField</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-14"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#optionalField"><span class="hs-identifier">optionalField</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-15"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#optionalFieldDef"><span class="hs-identifier">optionalFieldDef</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-16"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#monoidalField"><span class="hs-identifier">monoidalField</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-17"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#defaultFreeTextFieldDefST"><span class="hs-identifier">defaultFreeTextFieldDefST</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-18"></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html"><span class="hs-identifier">Distribution.Compat.Lens</span></a></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-23"></span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html"><span class="hs-identifier">Distribution.CabalSpecVersion</span></a></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier">CabalSpecVersion</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Newtype.html"><span class="hs-identifier">Distribution.Compat.Newtype</span></a></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compat.Newtype.html#Newtype"><span class="hs-identifier">Newtype</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Newtypes.html"><span class="hs-identifier">Distribution.FieldGrammar.Newtypes</span></a></span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html"><span class="hs-identifier">Distribution.Fields.Field</span></a></span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Utils.ShortText.html"><span class="hs-identifier">Distribution.Utils.ShortText</span></a></span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span class="hs-comment">-- | 'FieldGrammar' is parametrised by</span><span>
</span><span id="line-31"></span><span class="hs-comment">--</span><span>
</span><span id="line-32"></span><span class="hs-comment">-- * @s@ which is a structure we are parsing. We need this to provide prettyprinter</span><span>
</span><span id="line-33"></span><span class="hs-comment">-- functionality</span><span>
</span><span id="line-34"></span><span class="hs-comment">--</span><span>
</span><span id="line-35"></span><span class="hs-comment">-- * @a@ type of the field.</span><span>
</span><span id="line-36"></span><span class="hs-comment">--</span><span>
</span><span id="line-37"></span><span class="hs-comment">-- /Note:/ We'd like to have @forall s. Applicative (f s)@ context.</span><span>
</span><span id="line-38"></span><span class="hs-comment">--</span><span>
</span><span id="line-39"></span><span class="hs-keyword">class</span><span>
</span><span id="line-40"></span><span>    </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Newtypes.html#SpecVersion"><span class="hs-identifier hs-type">SpecVersion</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Newtypes.html#TestedWith"><span class="hs-identifier hs-type">TestedWith</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Newtypes.html#SpecLicense"><span class="hs-identifier hs-type">SpecLicense</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Newtypes.html#Token"><span class="hs-identifier hs-type">Token</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Newtypes.html#Token%27"><span class="hs-identifier hs-type">Token'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Newtypes.html#FilePathNT"><span class="hs-identifier hs-type">FilePathNT</span></a></span><span>
</span><span id="line-41"></span><span>    </span><span class="hs-special">)</span><span>
</span><span id="line-42"></span><span>    </span><span class="hs-glyph">=&gt;</span><span> </span><span id="FieldGrammar"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier hs-var">FieldGrammar</span></a></span></span><span> </span><span id="local-6989586621679681704"><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span></span><span> </span><span id="local-6989586621679681703"><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span>
</span><span id="line-43"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-44"></span><span>    </span><span class="hs-comment">-- | Unfocus, zoom out, /blur/ 'FieldGrammar'.</span><span>
</span><span id="line-45"></span><span>    </span><span id="local-6989586621679681600"><span id="local-6989586621679681601"><span id="local-6989586621679681602"><span id="blurFieldGrammar"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#blurFieldGrammar"><span class="hs-identifier hs-type">blurFieldGrammar</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681602"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681601"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681601"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681600"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681602"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681600"><span class="hs-identifier hs-type">d</span></a></span></span></span></span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span>    </span><span class="hs-comment">-- | Field which should be defined, exactly once.</span><span>
</span><span id="line-48"></span><span>    </span><span id="local-6989586621679681674"><span id="local-6989586621679681675"><span id="local-6989586621679681676"><span id="uniqueFieldAla"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#uniqueFieldAla"><span class="hs-identifier hs-type">uniqueFieldAla</span></a></span></span><span>
</span><span id="line-49"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681676"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Compat.Newtype.html#Newtype"><span class="hs-identifier hs-type">Newtype</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681675"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681676"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-50"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>   </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-51"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681675"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681676"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>    </span><span class="hs-comment">-- ^ 'Newtype' pack</span><span>
</span><span id="line-52"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681674"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681675"><span class="hs-identifier hs-type">a</span></a></span><span>  </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-53"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681674"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681675"><span class="hs-identifier hs-type">a</span></a></span></span></span></span><span>
</span><span id="line-54"></span><span>
</span><span id="line-55"></span><span>    </span><span class="hs-comment">-- | Boolean field with a default value.</span><span>
</span><span id="line-56"></span><span>    </span><span id="local-6989586621679681597"><span id="booleanFieldDef"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#booleanFieldDef"><span class="hs-identifier hs-type">booleanFieldDef</span></a></span></span><span>
</span><span id="line-57"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>     </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-58"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681597"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-59"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>          </span><span class="hs-comment">-- ^ default</span><span>
</span><span id="line-60"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681597"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-61"></span><span>
</span><span id="line-62"></span><span>    </span><span class="hs-comment">-- | Optional field.</span><span>
</span><span id="line-63"></span><span>    </span><span id="local-6989586621679681662"><span id="local-6989586621679681663"><span id="local-6989586621679681664"><span id="optionalFieldAla"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#optionalFieldAla"><span class="hs-identifier hs-type">optionalFieldAla</span></a></span></span><span>
</span><span id="line-64"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681664"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Compat.Newtype.html#Newtype"><span class="hs-identifier hs-type">Newtype</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681663"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681664"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-65"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>          </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-66"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681663"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681664"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>           </span><span class="hs-comment">-- ^ 'pack'</span><span>
</span><span id="line-67"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681662"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681663"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-68"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681662"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681663"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span></span><span>
</span><span id="line-69"></span><span>
</span><span id="line-70"></span><span>    </span><span class="hs-comment">-- | Optional field with default value.</span><span>
</span><span id="line-71"></span><span>    </span><span id="local-6989586621679681651"><span id="local-6989586621679681652"><span id="local-6989586621679681653"><span id="optionalFieldDefAla"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#optionalFieldDefAla"><span class="hs-identifier hs-type">optionalFieldDefAla</span></a></span></span><span>
</span><span id="line-72"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681653"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Compat.Newtype.html#Newtype"><span class="hs-identifier hs-type">Newtype</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681652"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681653"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Eq</span></span><span> </span><span class="annot"><a href="#local-6989586621679681652"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-73"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>   </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-74"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681652"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681653"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>    </span><span class="hs-comment">-- ^ 'Newtype' pack</span><span>
</span><span id="line-75"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681651"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681652"><span class="hs-identifier hs-type">a</span></a></span><span>  </span><span class="hs-comment">-- ^ @'Lens'' s a@: lens into the field</span><span>
</span><span id="line-76"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681652"><span class="hs-identifier hs-type">a</span></a></span><span>           </span><span class="hs-comment">-- ^ default value</span><span>
</span><span id="line-77"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681651"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681652"><span class="hs-identifier hs-type">a</span></a></span></span></span></span><span>
</span><span id="line-78"></span><span>
</span><span id="line-79"></span><span>    </span><span class="hs-comment">--  | Free text field is essentially 'optionalFieldDefAla` with @&quot;&quot;@</span><span>
</span><span id="line-80"></span><span>    </span><span class="hs-comment">--  as the default and &quot;accept everything&quot; parser.</span><span>
</span><span id="line-81"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-82"></span><span>    </span><span class="hs-comment">-- @since 3.0.0.0</span><span>
</span><span id="line-83"></span><span>    </span><span id="local-6989586621679681593"><span id="freeTextField"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#freeTextField"><span class="hs-identifier hs-type">freeTextField</span></a></span></span><span>
</span><span id="line-84"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>
</span><span id="line-85"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681593"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-86"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681593"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-87"></span><span>
</span><span id="line-88"></span><span>    </span><span class="hs-comment">--  | Free text field is essentially 'optionalFieldDefAla` with @&quot;&quot;@</span><span>
</span><span id="line-89"></span><span>    </span><span class="hs-comment">--  as the default and &quot;accept everything&quot; parser.</span><span>
</span><span id="line-90"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-91"></span><span>    </span><span class="hs-comment">-- @since 3.0.0.0</span><span>
</span><span id="line-92"></span><span>    </span><span id="local-6989586621679681626"><span id="freeTextFieldDef"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#freeTextFieldDef"><span class="hs-identifier hs-type">freeTextFieldDef</span></a></span></span><span>
</span><span id="line-93"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>
</span><span id="line-94"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681626"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-95"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681626"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-96"></span><span>
</span><span id="line-97"></span><span>    </span><span class="hs-comment">-- | @since 3.2.0.0</span><span>
</span><span id="line-98"></span><span>    </span><span id="local-6989586621679681590"><span id="freeTextFieldDefST"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#freeTextFieldDefST"><span class="hs-identifier hs-type">freeTextFieldDefST</span></a></span></span><span>
</span><span id="line-99"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>
</span><span id="line-100"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681590"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="Distribution.Utils.ShortText.html#ShortText"><span class="hs-identifier hs-type">ShortText</span></a></span><span> </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-101"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681590"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="Distribution.Utils.ShortText.html#ShortText"><span class="hs-identifier hs-type">ShortText</span></a></span></span><span>
</span><span id="line-102"></span><span>
</span><span id="line-103"></span><span>    </span><span class="hs-comment">-- | Monoidal field.</span><span>
</span><span id="line-104"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-105"></span><span>    </span><span class="hs-comment">-- Values are combined with 'mappend'.</span><span>
</span><span id="line-106"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-107"></span><span>    </span><span class="hs-comment">-- /Note:/ 'optionalFieldAla' is a @monoidalField@ with 'Last' monoid.</span><span>
</span><span id="line-108"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-109"></span><span>    </span><span id="local-6989586621679681640"><span id="local-6989586621679681641"><span id="local-6989586621679681642"><span id="monoidalFieldAla"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#monoidalFieldAla"><span class="hs-identifier hs-type">monoidalFieldAla</span></a></span></span><span>
</span><span id="line-110"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681704"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681642"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681641"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Compat.Newtype.html#Newtype"><span class="hs-identifier hs-type">Newtype</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681641"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681642"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-111"></span><span>        </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>   </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-112"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681641"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681642"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span>    </span><span class="hs-comment">-- ^ 'pack'</span><span>
</span><span id="line-113"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681640"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681641"><span class="hs-identifier hs-type">a</span></a></span><span>  </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-114"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681640"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681641"><span class="hs-identifier hs-type">a</span></a></span></span></span></span><span>
</span><span id="line-115"></span><span>
</span><span id="line-116"></span><span>    </span><span class="hs-comment">-- | Parser matching all fields with a name starting with a prefix.</span><span>
</span><span id="line-117"></span><span>    </span><span id="local-6989586621679681587"><span id="prefixedFields"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#prefixedFields"><span class="hs-identifier hs-type">prefixedFields</span></a></span></span><span>
</span><span id="line-118"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>                    </span><span class="hs-comment">-- ^ field name prefix</span><span>
</span><span id="line-119"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681587"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span>  </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-120"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681587"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span></span><span>
</span><span id="line-121"></span><span>
</span><span id="line-122"></span><span>    </span><span class="hs-comment">-- | Known field, which we don't parse, neither pretty print.</span><span>
</span><span id="line-123"></span><span>    </span><span id="local-6989586621679681585"><span id="knownField"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#knownField"><span class="hs-identifier hs-type">knownField</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681585"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span><span>
</span><span id="line-124"></span><span>
</span><span id="line-125"></span><span>    </span><span class="hs-comment">-- | Field which is parsed but not pretty printed.</span><span>
</span><span id="line-126"></span><span>    </span><span id="local-6989586621679681582"><span id="local-6989586621679681583"><span id="hiddenField"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#hiddenField"><span class="hs-identifier hs-type">hiddenField</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681583"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681582"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681583"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681582"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-127"></span><span>
</span><span id="line-128"></span><span>    </span><span class="hs-comment">-- | Deprecated since</span><span>
</span><span id="line-129"></span><span>    </span><span id="local-6989586621679681579"><span id="local-6989586621679681580"><span id="deprecatedSince"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#deprecatedSince"><span class="hs-identifier hs-type">deprecatedSince</span></a></span></span><span>
</span><span id="line-130"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span>   </span><span class="hs-comment">-- ^ version</span><span>
</span><span id="line-131"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>             </span><span class="hs-comment">-- ^ deprecation message</span><span>
</span><span id="line-132"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681580"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681579"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-133"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681580"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681579"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-134"></span><span>
</span><span id="line-135"></span><span>    </span><span class="hs-comment">-- | Removed in. If we occur removed field, parsing fails.</span><span>
</span><span id="line-136"></span><span>    </span><span id="local-6989586621679681576"><span id="local-6989586621679681577"><span id="removedIn"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#removedIn"><span class="hs-identifier hs-type">removedIn</span></a></span></span><span>
</span><span id="line-137"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span>   </span><span class="hs-comment">-- ^ version</span><span>
</span><span id="line-138"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>             </span><span class="hs-comment">-- ^ removal message</span><span>
</span><span id="line-139"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681577"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681576"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-140"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681577"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681576"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-141"></span><span>
</span><span id="line-142"></span><span>    </span><span class="hs-comment">-- | Annotate field with since spec-version.</span><span>
</span><span id="line-143"></span><span>    </span><span id="local-6989586621679681573"><span id="local-6989586621679681574"><span id="availableSince"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#availableSince"><span class="hs-identifier hs-type">availableSince</span></a></span></span><span>
</span><span id="line-144"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span>  </span><span class="hs-comment">-- ^ spec version</span><span>
</span><span id="line-145"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681574"><span class="hs-identifier hs-type">a</span></a></span><span>                 </span><span class="hs-comment">-- ^ default value</span><span>
</span><span id="line-146"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681573"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681574"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-147"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681573"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681574"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-148"></span><span>
</span><span id="line-149"></span><span>    </span><span class="hs-comment">-- | Annotate field with since spec-version.</span><span>
</span><span id="line-150"></span><span>    </span><span class="hs-comment">-- This is used to recognise, but warn about the field.</span><span>
</span><span id="line-151"></span><span>    </span><span class="hs-comment">-- It is used to process @other-extensions@ field.</span><span>
</span><span id="line-152"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-153"></span><span>    </span><span class="hs-comment">-- Default implementation is to not warn.</span><span>
</span><span id="line-154"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-155"></span><span>    </span><span class="hs-comment">-- @since 3.4.0.0</span><span>
</span><span id="line-156"></span><span>    </span><span id="local-6989586621679681693"><span id="local-6989586621679681694"><span id="availableSinceWarn"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#availableSinceWarn"><span class="hs-identifier hs-type">availableSinceWarn</span></a></span></span><span>
</span><span id="line-157"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span>  </span><span class="hs-comment">-- ^ spec version</span><span>
</span><span id="line-158"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681694"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681693"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-159"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681703"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681694"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681693"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-160"></span><span>    </span><span id="local-6989586621679681569"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#availableSinceWarn"><span class="hs-identifier hs-var hs-var">availableSinceWarn</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">g s a -&gt; g s a
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span></span><span>
</span><span id="line-161"></span><span>
</span><span id="line-162"></span><span class="hs-comment">-- | Field which can be defined at most once.</span><span>
</span><span id="line-163"></span><span id="local-6989586621679681684"><span id="local-6989586621679681687"><span id="local-6989586621679681688"><span id="local-6989586621679681689"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#uniqueField"><span class="hs-identifier hs-type">uniqueField</span></a></span><span>
</span><span id="line-164"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier hs-type">FieldGrammar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681689"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681688"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681689"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-type">Identity</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681687"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-165"></span><span>    </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>   </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-166"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681684"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681687"><span class="hs-identifier hs-type">a</span></a></span><span>  </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-167"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681688"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681684"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681687"><span class="hs-identifier hs-type">a</span></a></span></span></span></span></span><span>
</span><span id="line-168"></span><span id="uniqueField"><span class="annot"><span class="annottext">uniqueField :: forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) a s.
(FieldGrammar c g, c (Identity a)) =&gt;
FieldName -&gt; ALens' s a -&gt; g s a
</span><a href="Distribution.FieldGrammar.Class.html#uniqueField"><span class="hs-identifier hs-var hs-var">uniqueField</span></a></span></span><span> </span><span id="local-6989586621679681561"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681561"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679681560"><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679681560"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; (a -&gt; Identity a) -&gt; ALens' s a -&gt; g s a
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) b a s.
(FieldGrammar c g, c b, Newtype a b) =&gt;
FieldName -&gt; (a -&gt; b) -&gt; ALens' s a -&gt; g s a
</span><a href="Distribution.FieldGrammar.Class.html#uniqueFieldAla"><span class="hs-identifier hs-var">uniqueFieldAla</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681561"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Identity a
forall a. a -&gt; Identity a
</span><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-var">Identity</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679681560"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-169"></span><span>
</span><span id="line-170"></span><span class="hs-comment">-- | Field which can be defined at most once.</span><span>
</span><span id="line-171"></span><span id="local-6989586621679681669"><span id="local-6989586621679681670"><span id="local-6989586621679681671"><span id="local-6989586621679681672"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#optionalField"><span class="hs-identifier hs-type">optionalField</span></a></span><span>
</span><span id="line-172"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier hs-type">FieldGrammar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681672"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681671"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681672"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-type">Identity</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681670"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-173"></span><span>    </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>          </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-174"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681669"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681670"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-175"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681671"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681669"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681670"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span></span></span><span>
</span><span id="line-176"></span><span id="optionalField"><span class="annot"><span class="annottext">optionalField :: forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) a s.
(FieldGrammar c g, c (Identity a)) =&gt;
FieldName -&gt; ALens' s (Maybe a) -&gt; g s (Maybe a)
</span><a href="Distribution.FieldGrammar.Class.html#optionalField"><span class="hs-identifier hs-var hs-var">optionalField</span></a></span></span><span> </span><span id="local-6989586621679681553"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681553"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679681552"><span class="annot"><span class="annottext">ALens' s (Maybe a)
</span><a href="#local-6989586621679681552"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (a -&gt; Identity a) -&gt; ALens' s (Maybe a) -&gt; g s (Maybe a)
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) b a s.
(FieldGrammar c g, c b, Newtype a b) =&gt;
FieldName -&gt; (a -&gt; b) -&gt; ALens' s (Maybe a) -&gt; g s (Maybe a)
</span><a href="Distribution.FieldGrammar.Class.html#optionalFieldAla"><span class="hs-identifier hs-var">optionalFieldAla</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681553"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Identity a
forall a. a -&gt; Identity a
</span><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-var">Identity</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s (Maybe a)
</span><a href="#local-6989586621679681552"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span class="hs-comment">-- | Optional field with default value.</span><span>
</span><span id="line-179"></span><span id="local-6989586621679681658"><span id="local-6989586621679681659"><span id="local-6989586621679681660"><span id="local-6989586621679681661"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#optionalFieldDef"><span class="hs-identifier hs-type">optionalFieldDef</span></a></span><span>
</span><span id="line-180"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier hs-type">FieldGrammar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681661"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681660"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#Functor"><span class="hs-identifier hs-type">Functor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681660"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681659"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681661"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-type">Identity</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681658"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Eq</span></span><span> </span><span class="annot"><a href="#local-6989586621679681658"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-181"></span><span>    </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>   </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-182"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681659"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681658"><span class="hs-identifier hs-type">a</span></a></span><span>  </span><span class="hs-comment">-- ^ @'Lens'' s a@: lens into the field</span><span>
</span><span id="line-183"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681658"><span class="hs-identifier hs-type">a</span></a></span><span>           </span><span class="hs-comment">-- ^ default value</span><span>
</span><span id="line-184"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681660"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681659"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681658"><span class="hs-identifier hs-type">a</span></a></span></span></span></span></span><span>
</span><span id="line-185"></span><span id="optionalFieldDef"><span class="annot"><span class="annottext">optionalFieldDef :: forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) s a.
(FieldGrammar c g, Functor (g s), c (Identity a), Eq a) =&gt;
FieldName -&gt; ALens' s a -&gt; a -&gt; g s a
</span><a href="Distribution.FieldGrammar.Class.html#optionalFieldDef"><span class="hs-identifier hs-var hs-var">optionalFieldDef</span></a></span></span><span> </span><span id="local-6989586621679681543"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681543"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679681542"><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679681542"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span id="local-6989586621679681541"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679681541"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; (a -&gt; Identity a) -&gt; ALens' s a -&gt; a -&gt; g s a
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) b a s.
(FieldGrammar c g, c b, Newtype a b, Eq a) =&gt;
FieldName -&gt; (a -&gt; b) -&gt; ALens' s a -&gt; a -&gt; g s a
</span><a href="Distribution.FieldGrammar.Class.html#optionalFieldDefAla"><span class="hs-identifier hs-var">optionalFieldDefAla</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681543"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Identity a
forall a. a -&gt; Identity a
</span><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-var">Identity</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679681542"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679681541"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-186"></span><span>
</span><span id="line-187"></span><span class="hs-comment">-- | Field which can be define multiple times, and the results are @mappend@ed.</span><span>
</span><span id="line-188"></span><span id="local-6989586621679681647"><span id="local-6989586621679681648"><span id="local-6989586621679681649"><span id="local-6989586621679681650"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#monoidalField"><span class="hs-identifier hs-type">monoidalField</span></a></span><span>
</span><span id="line-189"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier hs-type">FieldGrammar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681650"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681649"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679681650"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-type">Identity</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681648"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681648"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-190"></span><span>    </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>   </span><span class="hs-comment">-- ^ field name</span><span>
</span><span id="line-191"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681647"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681648"><span class="hs-identifier hs-type">a</span></a></span><span>  </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-192"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681649"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681647"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681648"><span class="hs-identifier hs-type">a</span></a></span></span></span></span></span><span>
</span><span id="line-193"></span><span id="monoidalField"><span class="annot"><span class="annottext">monoidalField :: forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) a s.
(FieldGrammar c g, c (Identity a), Monoid a) =&gt;
FieldName -&gt; ALens' s a -&gt; g s a
</span><a href="Distribution.FieldGrammar.Class.html#monoidalField"><span class="hs-identifier hs-var hs-var">monoidalField</span></a></span></span><span> </span><span id="local-6989586621679681533"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681533"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679681532"><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679681532"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; (a -&gt; Identity a) -&gt; ALens' s a -&gt; g s a
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =&gt;
FieldName -&gt; (a -&gt; b) -&gt; ALens' s a -&gt; g s a
</span><a href="Distribution.FieldGrammar.Class.html#monoidalFieldAla"><span class="hs-identifier hs-var">monoidalFieldAla</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681533"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Identity a
forall a. a -&gt; Identity a
</span><a href="../../base/src/Data.Functor.Identity.html#Identity"><span class="hs-identifier hs-var">Identity</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679681532"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-194"></span><span>
</span><span id="line-195"></span><span class="hs-comment">-- | Default implementation for 'freeTextFieldDefST'.</span><span>
</span><span id="line-196"></span><span id="local-6989586621679681637"><span id="local-6989586621679681638"><span id="local-6989586621679681639"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#defaultFreeTextFieldDefST"><span class="hs-identifier hs-type">defaultFreeTextFieldDefST</span></a></span><span>
</span><span id="line-197"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Base.html#Functor"><span class="hs-identifier hs-type">Functor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679681639"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681638"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier hs-type">FieldGrammar</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681637"><span class="hs-identifier hs-type">c</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681639"><span class="hs-identifier hs-type">g</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-198"></span><span>    </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">FieldName</span></a></span><span>
</span><span id="line-199"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#ALens%27"><span class="hs-identifier hs-type">ALens'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681638"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="Distribution.Utils.ShortText.html#ShortText"><span class="hs-identifier hs-type">ShortText</span></a></span><span> </span><span class="hs-comment">-- ^ lens into the field</span><span>
</span><span id="line-200"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679681639"><span class="hs-identifier hs-type">g</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679681638"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="Distribution.Utils.ShortText.html#ShortText"><span class="hs-identifier hs-type">ShortText</span></a></span></span></span></span><span>
</span><span id="line-201"></span><span id="defaultFreeTextFieldDefST"><span class="annot"><span class="annottext">defaultFreeTextFieldDefST :: forall (g :: * -&gt; * -&gt; *) s (c :: * -&gt; Constraint).
(Functor (g s), FieldGrammar c g) =&gt;
FieldName -&gt; ALens' s ShortText -&gt; g s ShortText
</span><a href="Distribution.FieldGrammar.Class.html#defaultFreeTextFieldDefST"><span class="hs-identifier hs-var hs-var">defaultFreeTextFieldDefST</span></a></span></span><span> </span><span id="local-6989586621679681524"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681524"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679681523"><span class="annot"><span class="annottext">ALens' s ShortText
</span><a href="#local-6989586621679681523"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-202"></span><span>    </span><span class="annot"><span class="annottext">String -&gt; ShortText
</span><a href="Distribution.Utils.ShortText.html#toShortText"><span class="hs-identifier hs-var">toShortText</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; ShortText) -&gt; g s String -&gt; g s ShortText
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; ALens' s String -&gt; g s String
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *) s.
FieldGrammar c g =&gt;
FieldName -&gt; ALens' s String -&gt; g s String
</span><a href="Distribution.FieldGrammar.Class.html#freeTextFieldDef"><span class="hs-identifier hs-var">freeTextFieldDef</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679681524"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s ShortText
-&gt; LensLike (Pretext String String) s s ShortText ShortText
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s ShortText
</span><a href="#local-6989586621679681523"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">LensLike (Pretext String String) s s ShortText ShortText
-&gt; ((String -&gt; Pretext String String String)
    -&gt; ShortText -&gt; Pretext String String ShortText)
-&gt; ALens' s String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; Pretext String String String)
-&gt; ShortText -&gt; Pretext String String ShortText
Lens' ShortText String
</span><a href="#local-6989586621679681518"><span class="hs-identifier hs-var">st</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-203"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-204"></span><span>    </span><span class="annot"><a href="#local-6989586621679681518"><span class="hs-identifier hs-type">st</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#Lens%27"><span class="hs-identifier hs-type">Lens'</span></a></span><span> </span><span class="annot"><a href="Distribution.Utils.ShortText.html#ShortText"><span class="hs-identifier hs-type">ShortText</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-205"></span><span>    </span><span id="local-6989586621679681518"><span class="annot"><span class="annottext">st :: Lens' ShortText String
</span><a href="#local-6989586621679681518"><span class="hs-identifier hs-var hs-var">st</span></a></span></span><span> </span><span id="local-6989586621679681515"><span class="annot"><span class="annottext">String -&gt; f String
</span><a href="#local-6989586621679681515"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679681514"><span class="annot"><span class="annottext">ShortText
</span><a href="#local-6989586621679681514"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ShortText
</span><a href="Distribution.Utils.ShortText.html#toShortText"><span class="hs-identifier hs-var">toShortText</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; ShortText) -&gt; f String -&gt; f ShortText
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; f String
</span><a href="#local-6989586621679681515"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ShortText -&gt; String
</span><a href="Distribution.Utils.ShortText.html#fromShortText"><span class="hs-identifier hs-var">fromShortText</span></a></span><span> </span><span class="annot"><span class="annottext">ShortText
</span><a href="#local-6989586621679681514"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-206"></span></pre></body></html>